Renderer|DrawList: DrawList is a list of Shards

As Shards contain all the information needed to draw geometries and
both the Shard and the vertex buffer(s) they utilize will exist over
multiple frames; it is completely redundant to copy the configuration
when composing a DrawList.

A DrawList is now a list of Shards with compatible draw specs.

Todo:
- Reimplement geometry generation for ambient occlusion (flats)
- Cleanup