Calls to init() are static for now to avoid a prior.init() call from calling a sibling init() that jumps back up to the parent.  May change to use Java-style this(...) syntax or similar.
Added Math sin/cos, added some XY functions.