Complex polygon support (attempt)

Passing unit tests, but running into errors when actually rendering.