Move printing defines to buildflag system.

Removes the build flags in //build/config/features.gni and puts them in a new
file //printing/features/features.gni. A "features" target in that directory
converts these to a BUILDFLAG header. Update users of define to use the new
include, and check BUILDFLAG(...) instead of defined(...).

One define about printing is removed from Blink. This function seems only to
be called by the embedder, and printing code is compiled into Blink either
way. The define seems to not be doing much. if the embedder doesn't want to
print, they should not call the print function.

There is a custom hack for the .rc file due to resource compiler preprocessor limitations.

[email protected], [email protected], [email protected], thestig, dcheng (third_party/WebKit)
TBR=dbeam (webui), jschuh (ipc messages)

Review URL: https://codereview.chromium.org/2458833005 .

Cr-Commit-Position: refs/heads/master@{#429707}
diff --git a/chrome/browser/extensions/BUILD.gn b/chrome/browser/extensions/BUILD.gn
index 38e14ff0..77af6b9 100644
--- a/chrome/browser/extensions/BUILD.gn
+++ b/chrome/browser/extensions/BUILD.gn
@@ -888,6 +888,7 @@
     "//extensions/common/api",
     "//extensions/strings",
     "//net",
+    "//printing/features",
     "//skia",
     "//sql",
     "//storage/browser",