Updating to support complex objects as map keys
Fix up tests and work on support across platforms and haxe versions