RenderBuckets: unify baseBuckets and textureBuckets

... finally
GLState: track buffer bindings

- reset buffer bindings at frame start
fix: dont let TextureBuckets interfere with other bucket 'levels'

- make TextureLayer.textures protected
RenderBuckets: optimization

- start search from current when searched level is greater than current
fix: BucketRenderer unified base/tex buckets
fixup: layer -> bucket variable names
RenderBuckets: add clearBuckets
BucketRenderer: add default implementation for update()

- handy for simple (debug) layers
PolygonBucket: reenable per bucket visibility test
make LayerRenderer methods public to enable composition
OffscreenRenderer: use depthTexture for SSAO modes
S3DB/Buildings:

- allow multiple building extrusion buckets per tile
  (differently colored buildings depending on tags)
- fixed ExtrusionBucket index offsets
- rename more layer -> bucket
MeshBucket: use blend/fade color
MeshBucket: add special add() for convex polygon
TileRenderer: get correct fade-time for proxies
VectorTileLoader: dont add faded out polygon layers
TileManager:

- set zoomMin/Max for current TileSource
- add zoom-level switch threshold
- add TileManager.getTile()
- remove releaseTiles()
- extract JobCompletedEvent from anonymous class
playground tests