Refactor InProcessCommandBuffer::Service.

There is a lot of complexity in InProcessCommandBuffer and the internal
Service class makes things more complex. This CL attempts to clean this
up a bit.

1. Move InProcessCommandBuffer::Service into it's own file and rename to
   GpuCommandService. Improve comments and modernize code slightly.
2. Make GpuCommandService a subclass of RefCountedThreadSafe, rather
   than all of the subclasses of GpuCommandService and then manually
   forwarding calls to AddRef() and Release(). This was originally done
   because GpuCommandService was a pure interface, however that is no
   longer the case.
3. Remove passing around const refs to scoped_refptrs. We can just pass
   the scoped_refptr by value in these cases.

Bug: 832243
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Ib6dc5212ba71e3645e2649b5db43f2c06fbb14e2
Reviewed-on: https://chromium-review.googlesource.com/1118618
Commit-Queue: kylechar <[email protected]>
Reviewed-by: Antoine Labour <[email protected]>
Reviewed-by: Bo <[email protected]>
Cr-Commit-Position: refs/heads/master@{#572272}
23 files changed