Introduces Locale overload for toUpperCase/toLowerCase.

This patch introduces a simple Locale emulation that defines the constants
for common Locale classes used by shared code to avoid locale specific
String transformations (e.g. String.toLowerCase(Locale.US)).

Also adds Locale overloads to toUpperCase/toLowerCase so it does the right
thing when the locale is passed. More specifically calls
 - javascript toXXXCase if Locale is US, ENGLISH and ROOT.
 - javascript toLocaleXXXCase if Locale is Locale#getDefault()

By this way, shared code can perform both locale specific and non-locale
specific String transformations that works cross-platform (given that it's
supported by the underlying browser).

Change-Id: I753c61ccf46f441afeee542f88171bd47e0d973f
Review-Link: https://gwt-review.googlesource.com/#/c/8991/
3 files changed