Limit feature exports
Change touchmove and touchstart listened element to 'document'

As for the mouse events, this allows to drag, zoom or rotate the map
with pointer(s) who moved outside of the viewport.
Only consider touch events to compute ol.interaction.Touch.targetTouches
Only dispatch touchmove events after a touchstart
Perform ol.Map#setTarget string-to-Element conversion in event handler

With this change, ol.Map#setTarget no longer changes the type of the
value passed to it.
Update ol.control.FullScreen to handle string targets
Update teleport example to use string target
Rename addPreRenderFunction to beforeRender and remove the plural
Exporting set and setGeometry

Since the set method is exported on ol.Object, we need to export the method on the feature prototype to get correct behavior.
Making sure that options are not renamed
No need for ol.Map#target_
Reset the map focus on 'mouseout' and 'touchend'
Instead of providing animation functions, provide the namespace

This follows the convention in the Closure Library of providing either namespace objects (where the property starts with a lowercase letter), constructors (where the property starts with an uppercase letter), or enums (all uppercase properties, only one instance of this in the closure library).
Export namespaces or constructors but not functions
Handle namespace provides

It looks like the convention in the Closure Library is to export either namespaces (starting with lowercase), constructors (starting with uppercase), or enums (all uppercase, one instance).  I don't see any places where the Closure Library exports a function that is not a constructor.

Following the same convention, when we export `ol.foo`, it means we are making available function properties of the `ol.foo` object that start with a lowercase letter.
Removing unnecessary require
Export ol.control namespace instead of ol.control.defaults function
Export ol.interaction namespace instead of the defaults function
Export namespaces instead of functions in generated code
Unused imports