Fix use of goog.requires

This PR adds code to the build script to:
 * detect when a `goog.require` is not needed
 * detect when a `goog.require` is missing
and fixes the entire code base to add and remove `goog.requires` as needed.

The Python code isn't particularly pretty, but it does work, and contains some hacks to work around the circular dependencies in the code (notably `ol.Map` depends on the map renderers, and vice versa, and `ol.renderer.foo.Layer` depends on `ol.renderer.foo.Map` and vice versa).