basic functionality of transit
proxifying functions in nested objects and arrays
change: retainId for functions and objects are magic markers -> more readable and simpler code
updated readme to reflected changed names
recognizes native functions to prevent unneeded wrapping as proxies
finish invokeNative incl. special treatment for global window (no retain, but null)
some changes after code review with @sirlantis
Merge branch 'transitJS'