Extracts configurable networking layer.

* Extracts HttpEngine interface.
* Uses LwHttp as default networking client.
* Implements alternate networking client using OkHttp.
Tests OkHttp integration
create HttpEngine instances for each loader thread
example: testing OkHttp
move tests to separate project
Fixes HttpEngine tests
okhttp: use tileSource.getTileUrl()
api: UrlTileSource

- use replacement string for tilePath
- move 'low-level' formatTilePath to LwHttp
- implement LwHttpFactory
gradle: make okhttp optional
fix tests
gwt: update UrlTileSource