Add object template support (#5)
* bump version
* add object template support
Move Object into its own module (src/object.zig) and add support for
.tj template files. When an object references a template, field values
and properties from the template are applied as defaults; instance values
always take precedence. Instance properties with the same key as a
template property correctly free the template allocation before replacing
it.
* fix property_type default, add optimize build option
- Property.property_type defaults to null to avoid requiring callers to
set it explicitly
- Expose standardOptimizeOption in the build so the module respects
release modes
- Remove empty propertytype strings from test fixture
- Bump version to 0.2.4
* add tests for object template field inheritance and property merging
Test that template field values are applied when absent from the instance
(height, rotation), that instance values take precedence (width, name,
visible), and that properties from both sources are merged with instance
winning on key conflicts. Adds dedicated fixture files to cover the
property-override case not exercised by the existing map.tmj.
authored by