SceneKit Support

This adds SceneKit support for iOS and OS X (when available). 

Had to do some awkward value wrapping since pop's CATransform3D deconstruction functions don't work for some reason with SCNNode transforms (SCNMatrix4), even though the matrix is the exact same struct as CATransform3D (except for the use of floats instead of CGFloats).

Also, as mentioned in the NSValue additions, for some stupid reason iOS has SCNVector3 and SCNVector4's objCTypes hardcoded as @"t" and not what @encode(SCNVector3/4) returns -_-.
[[NSValue valueWithSCNVector3:SCNVector3Make(0.0, 0.0, 0.0)] objcType]