Enable GDAL dataset creation options to be passed to `ctb-tile`

The `--creation-options` flag enables this.
Add support for transformations using a linear approximator

This has the potential to greatly speed up tile generation.
Allow the warp memory limit to be specified
Standardise tile inheritance

`GDALTile` and `TerrainTile` now inherit from the same base class.
Create a standard interface for obtaining tiles from a tiler