Fixes property dependencies for user agent generators

Change-Id: Ic33b77fa7087918fcc031878bc4a245d9bff1bd5
Put JavaScript globals into namespaces in Super Dev Mode

This is to work around a Chrome limit on the number of global variables
when attempting to run a large GWT app in Super Dev Mode. It should also
make the debugger somewhat easier to use because not as many variables
show up under "window".

Implementation: a new compiler pass creates a separate JavaScript
namespace for each Java package. Each namespace contains the functions
and global variables for that package.

By default, package namespaces are generated by taking the first initial
from each name in the package path, so for example, "com.google.gwt"
becomes "cgg" unless that name is already taken.

TODO
 - add a flag to the regular compiler. (Currently only Super Dev Mode
has namespaces enabled.) 
 - Tweak the pretty namer so that it doesn't rename globals as often.
A variable that's moved to a namespace only conflicts with other
variables in the same namespace.

Bug: issue 8532
Change-Id: Ibec0fd25b86cee79ee9621bde28f1cdfd90b0caf
Review-Link: https://gwt-review.googlesource.com/#/c/6071/
Merge remote-tracking branch 'upstream/master'