Cleaned up lookup of overloaded cast operators to handle more circumstances.
wrapIfNeeded now handles basic pointer types.
First stage of converting stmts to toString rather than template.
Moved stmt models to a toString implementation rather than templates. Not in working order until the declarations are also moved to a toString implementation.
Got rid of extra type info used by template in stmt models. Also cleaned up TODO list in readme.