Better casting for expressions

Before `(3*4) as X` would become `(3*4)!=null && (3*4).cast(‘X’)`
SF
Implemented message passing for ObjC. Closes #2