Split ol.geom.flat into smaller modules

`ol.geom.flat` has grown in include a lot of functionality, and as a result is quite large.

This PR splits `ol.geom.flat` into several smaller modules. There is no functional change.