docs: ITileDataSink
add some pmd rules
some modification suggested by pmd:

- move fields before method
- chain StringBuilder appends
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
move tests to separate project
Fixes HttpEngine tests
api: UrlTileSource

- use replacement string for tilePath
- move 'low-level' formatTilePath to LwHttp
- implement LwHttpFactory
gradle: make okhttp optional
fix tests
gwt: update UrlTileSource
add getter for split tilePath
LwHttp: prepare tilePath as byte[]
add missing headers