Added API for creating geometrical release sites.

I also cleaned up the API code for creating polygon objects
a bit and added infrastructure for instantiating meta objects.
At this point the API allows one to create polygon objects and
geometrical release sites and instantiate them.

Unfortunately, the parser does not yet use the API calls
for polygon lists and release sites directly since the parser
workflow is quite a bit different. Hopefully this can be
rectified in the future.
Code refactoring and cleanup.
Changed name of state pointer from world -> state.
Fixed bug in polygon object creation code.