Introduce the image_decoder service

Moves OOP image decoding from a one-off utility process IPC
to its own service_manager service. This is then hooked up
by Chrome to be launched by content's utility-process-based
sandboxed service launcher.

This serves as a precursor to extracing process launch
code from content, as it defines a service which is used
in production across all platforms that support multiprocess.

The ImageDecoder helper defined in src/chrome is substantially
simplified here, as it's reduced to a thin wrapper around the
image_decoder client library.

In order to support Chrome content_browser packaging the
service, this also adds support for packaging services within
manifest overlays by introducing a new service_manifest_overlay
GN template.

Finally this also introduces a new service_unittests binary
as a default home for service implementations to stash their
unittest sources. Follow-up work will add this test suite to
bot configurations.

BUG=654986

Review-Url: https://codereview.chromium.org/2475543003
Cr-Commit-Position: refs/heads/master@{#431605}
diff --git a/BUILD.gn b/BUILD.gn
index 64ab231..73c3053 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -882,6 +882,7 @@
     deps = [
       "//ipc:ipc_tests",
       "//mojo:tests",
+      "//services:service_unittests",
     ]
   }
 }