[Mac]Port browser_keyevents_browsertest.cc and browser_focus_uitest.cc to Mac.

This CL includes:
1. Implementation of ui_test_utils_mac.mm
2. Fix for ui_controls_mac.mm
3. Port browser_keyevents_browsertest.cc to Mac and add some new tests for Mac.
4. Partially port browser_focus_uitest.cc to Mac, now can be compiled and run
on Mac but some tests fail.
5. Add two functions into ui_test_utils.h: HideNativeWindow() and
ShowAndFocusNativeWindow(). The latter one shows a window and grabs the input
focus, which is useful for tests depending on fake keyboard/mouse events.

Because browser_keyevents_browsertests.cc and browser_focus_uitest.cc
belong to interactive_ui_tests, which is not available on Mac (see
http://crbug.com/21276), in order to test them on Mac, you may want to
move them into browser_tests locally. But it won't work on build and try
bots, because these tests must be run with screen unlocked.

This CL depends on CL: http://codereview.chromium.org/2973004
and http://codereview.chromium.org/2805075

BUG=22515 Keyboard handling needs unit tests
BUG=48671 interactive_ui_test: BrowserKeyEventsTest.NormalKeyEvents is flaky
BUG=48936 Browser window is opened inactivated when running an InProcessBrowserTest.
TEST=none

Review URL: http://codereview.chromium.org/2986004

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53840 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi
index 1e6b896..6e280d4 100644
--- a/chrome/chrome_browser.gypi
+++ b/chrome/chrome_browser.gypi
@@ -222,6 +222,7 @@
         'browser/automation/automation_window_tracker.h',
         'browser/automation/extension_port_container.cc',
         'browser/automation/extension_port_container.h',
+        'browser/automation/ui_controls_internal.h',
         'browser/automation/ui_controls_linux.cc',
         'browser/automation/ui_controls_mac.mm',
         'browser/automation/ui_controls_win.cc',