Spirit rules are just placeholders. They are cheap to construct and by doing
this static initialization order fiasco problem is effectively avoided.
Also had to fix name clash between geojson and generic json parsers.
- construct on first use
- allows for faster map loading and unloading of xml loading tree
- modified expression and transform grammars to not take args/not crash
- simplifies interfaces, allows fast parsing from python without passing grammar instance
Dropped color_factory class in favor of single color_parser function. Moved implementation to new color_factory.cpp since it is odd to have two headers (color.hpp, color_factory.hpp) and only one source file.