Implement Visibility Cones

Implement 2D shadow projection that takes the player's current position, and creates a set of occlusion primitives (rectangles) of the area behind any occluders.

Occluder volumes are taken from the collision geometry for each asset, and they are cast down into the floor of the map to form convex hulls.