FireDef.__call__: Minor optimizations.
Action.step: Remove special-case dependency on ActionDef / ActionRef.
Construct Actions before passing to Bullet.
Action.Child: Handle calling the definition. If; Add __repr__.
Action: Don't need the owner in the constructor. Factory function to create a child.
If: Conditional actions.
Major refactor. Since Python is duck-typed the parser/impl split in the Java BulletML implementation only makes the code slow and awkward. Instead, have the 'parser' change the Action attributes, which results in no real loss of generality, and much more straightforward and faster code.
Re-reverse coordinate system to match OpenGL. Add <appearance> element.
Integration and coverage tests. (Fixes issue #2)
Intern type strings for faster comparison during action running.
Fix Python 3 incompatibility.
Fix muscle memory writing bad code.
Add <tag> support to BulletDef and FireDef.
Better variable name, self -> doc.
Fix broken repr.
Expose only top-level actions, not bullets or firings.
Order state elements to generate more readable YAML.
BulletML.FromDocument: Type detector. Various setstate bug fixes.
parser: Support __getstate__/__setstate__ protocol.
Python 3 support.