Split out mojo application test support code.

Based on old CL: https://codereview.chromium.org/671443004

Split re-usuable apptest bits out of example files/targets.
(the MojoMain impl and the ApplicationTestBase GTEST class)

Add mojo/public/cpp/application:test_support GN target.
Move code into new application_test_base.[h|cc] files.

TODO: Add a GYP test support target (not needed now).
TODO: Split MojoMain into application_test_main.cc.
TODO: Support base::MessageLoop environments.

BUG=392646
TEST="mojo_shell mojo:example_apptests" still works.
R=viettrungluu@chromium.org

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