port over distanceTraveled app. NOT WORKING. Current breaks during AST tranform.
fix call to NSSelectorFromString
Fix arg types
Add README for distanceTraveled
Merge branch 'distanceTraveled' of https://github.com/sgtcoolguy/hyperloop-ios into sgtcoolguy-distanceTraveled
Fix: resolve type in custom class method
Implement constant
import UIKit by default
Merge pull request #71 from infosia/sgtcoolguy-distanceTraveled

Distance traveled example
Update README.md
Add text on how to run the example
Begin porting the webglport example.
- Port over lesson01. This doesn't compile due to the following:
```
[ERROR] Error: build/src/i386/HL_Functions.mm:38:31: error: unknown type name 'GLuint'; did you mean 'uint'?
        auto buffers$1 = static_cast<GLuint *>(HyperloopJSValueToVoidPointer(ctx,arguments[1],exception));
                                     ^~~~~~
                                     uint
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.1.sdk/usr/include/sys/types.h:92:23: note: 'uint' declared here
typedef unsigned int            uint;           /* Sys V compatibility */
                                ^
build/src/i386/HL_Functions.mm:39:2: error: use of undeclared identifier 'glGenBuffers'
        glGenBuffers(n$0, buffers$1);
        ^
build/src/i386/HL_Functions.mm:49:31: error: unknown type name 'GLuint'; did you mean 'uint'?
        auto buffers$1 = static_cast<GLuint *>(HyperloopJSValueToVoidPointer(ctx,arguments[1],exception));
                                     ^~~~~~
                                     uint
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.1.sdk/usr/include/sys/types.h:92:23: note: 'uint' declared here
typedef unsigned int            uint;           /* Sys V compatibility */
                                ^
build/src/i386/HL_Functions.mm:50:2: error: use of undeclared identifier 'glDeleteBuffers'
        glDeleteBuffers(n$0, buffers$1);
        ^
build/src/i386/HL_Functions.mm:61:2: error: use of undeclared identifier 'glBindBuffer'
        glBindBuffer(target$0, buffer$1);
        ^
build/src/i386/HL_Functions.mm:73:2: error: use of undeclared identifier 'GLvoid'; did you mean 'void'?
        GLvoid * arguments_2_ptr = nullptr;
        ^~~~~~
        void
build/src/i386/HL_Functions.mm:78:38: error: unknown type name 'GLvoid'; did you mean 'void'?
                arguments_2_ptr = reinterpret_cast<GLvoid *>(static_cast<size_t>(arguments_2_num));
                                                   ^~~~~~
                                                   void
build/src/i386/HL_Functions.mm:83:63: error: use of undeclared identifier 'GLvoid'; did you mean 'void'?
                auto arguments_2_buf2 = static_cast<Hyperloop::NativeObject<GLvoid *> *>(arguments_2_buf);
                                                                            ^~~~~~
                                                                            void
build/src/i386/HL_Functions.mm:88:51: error: unknown type name 'GLvoid'; did you mean 'void'?
        glBufferData(target$0, size$1, static_cast<const GLvoid *>(data$2), usage$3);
                                                         ^~~~~~
                                                         void
build/src/i386/HL_Functions.mm:88:2: error: use of undeclared identifier 'glBufferData'
        glBufferData(target$0, size$1, static_cast<const GLvoid *>(data$2), usage$3);
        ^
build/src/i386/HL_Functions.mm:100:2: error: unknown type name 'GLchar'
        GLchar *const * arguments_2_ptr = nullptr;
        ^
build/src/i386/HL_Functions.mm:105:38: error: unknown type name 'GLchar'
                arguments_2_ptr = reinterpret_cast<GLchar *const *>(static_cast<size_t>(arguments_2_num));
                                                   ^
build/src/i386/HL_Functions.mm:110:63: error: use of undeclared identifier 'GLchar'
                auto arguments_2_buf2 = static_cast<Hyperloop::NativeObject<GLchar *const *> *>(arguments_2_buf);
                                                                            ^
build/src/i386/HL_Functions.mm:110:71: error: expected expression
                auto arguments_2_buf2 = static_cast<Hyperloop::NativeObject<GLchar *const *> *>(arguments_2_buf);
                                                                                    ^
build/src/i386/HL_Functions.mm:114:30: error: unknown type name 'GLint'
        auto length$3 = static_cast<GLint *>(HyperloopJSValueToVoidPointer(ctx,arguments[3],exception));
                                    ^
build/src/i386/HL_Functions.mm:126:30: error: unknown type name 'GLint'
        auto params$2 = static_cast<GLint *>(HyperloopJSValueToVoidPointer(ctx,arguments[2],exception));
                                    ^
build/src/i386/HL_Functions.mm:127:2: error: use of undeclared identifier 'glGetShaderiv'
        glGetShaderiv(shader$0, pname$1, params$2);
        ^
build/src/i386/HL_Functions.mm:138:30: error: unknown type name 'GLsizei'
        auto length$2 = static_cast<GLsizei *>(HyperloopJSValueToVoidPointer(ctx,arguments[2],exception));
                                    ^
build/src/i386/HL_Functions.mm:159:2: error: use of undeclared identifier 'glGetShaderInfoLog'
        glGetShaderInfoLog(shader$0, bufsize$1, length$2, infolog$3);
        ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.

    at checkResults (/Users/cwilliams/repos/hyperloop-common/lib/compiler/clang.js:94:12)
    at Object.q.drain (/Users/cwilliams/repos/hyperloop-common/lib/compiler/clang.js:167:4)
    at next (/Users/cwilliams/repos/hyperloop-common/node_modules/async/lib/async.js:723:31)
    at /Users/cwilliams/repos/hyperloop-common/node_modules/async/lib/async.js:24:16
    at /Users/cwilliams/repos/hyperloop-common/lib/compiler/clang.js:161:6
    at ChildProcess.exithandler (child_process.js:645:7)
    at ChildProcess.emit (events.js:98:17)
    at maybeClose (child_process.js:755:16)
    at Socket.<anonymous> (child_process.js:968:11)
    at Socket.emit (events.js:95:17)
[ERROR] Hint: If you think you have found a bug, run again with --report to report it.
[ERROR] Running with --debug can also give you more information on what is going wrong.
[ERROR] Error: build/src/i386/HL_Functions.mm:38:31: error: unknown type name 'GLuint'; did you mean 'uint'?
        auto buffers$1 = static_cast<GLuint *>(HyperloopJSValueToVoidPointer(ctx,arguments[1],exception));
                                     ^~~~~~
                                     uint
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.1.sdk/usr/include/sys/types.h:92:23: note: 'uint' declared here
typedef unsigned int            uint;           /* Sys V compatibility */
                                ^
build/src/i386/HL_Functions.mm:39:2: error: use of undeclared identifier 'glGenBuffers'
        glGenBuffers(n$0, buffers$1);
        ^
build/src/i386/HL_Functions.mm:49:31: error: unknown type name 'GLuint'; did you mean 'uint'?
        auto buffers$1 = static_cast<GLuint *>(HyperloopJSValueToVoidPointer(ctx,arguments[1],exception));
                                     ^~~~~~
                                     uint
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.1.sdk/usr/include/sys/types.h:92:23: note: 'uint' declared here
typedef unsigned int            uint;           /* Sys V compatibility */
                                ^
build/src/i386/HL_Functions.mm:50:2: error: use of undeclared identifier 'glDeleteBuffers'
        glDeleteBuffers(n$0, buffers$1);
        ^
build/src/i386/HL_Functions.mm:61:2: error: use of undeclared identifier 'glBindBuffer'
        glBindBuffer(target$0, buffer$1);
        ^
build/src/i386/HL_Functions.mm:73:2: error: use of undeclared identifier 'GLvoid'; did you mean 'void'?
        GLvoid * arguments_2_ptr = nullptr;
        ^~~~~~
        void
build/src/i386/HL_Functions.mm:78:38: error: unknown type name 'GLvoid'; did you mean 'void'?
                arguments_2_ptr = reinterpret_cast<GLvoid *>(static_cast<size_t>(arguments_2_num));
                                                   ^~~~~~
                                                   void
build/src/i386/HL_Functions.mm:83:63: error: use of undeclared identifier 'GLvoid'; did you mean 'void'?
                auto arguments_2_buf2 = static_cast<Hyperloop::NativeObject<GLvoid *> *>(arguments_2_buf);
                                                                            ^~~~~~
                                                                            void
build/src/i386/HL_Functions.mm:88:51: error: unknown type name 'GLvoid'; did you mean 'void'?
        glBufferData(target$0, size$1, static_cast<const GLvoid *>(data$2), usage$3);
                                                         ^~~~~~
                                                         void
build/src/i386/HL_Functions.mm:88:2: error: use of undeclared identifier 'glBufferData'
        glBufferData(target$0, size$1, static_cast<const GLvoid *>(data$2), usage$3);
        ^
build/src/i386/HL_Functions.mm:100:2: error: unknown type name 'GLchar'
        GLchar *const * arguments_2_ptr = nullptr;
        ^
build/src/i386/HL_Functions.mm:105:38: error: unknown type name 'GLchar'
                arguments_2_ptr = reinterpret_cast<GLchar *const *>(static_cast<size_t>(arguments_2_num));
                                                   ^
build/src/i386/HL_Functions.mm:110:63: error: use of undeclared identifier 'GLchar'
                auto arguments_2_buf2 = static_cast<Hyperloop::NativeObject<GLchar *const *> *>(arguments_2_buf);
                                                                            ^
build/src/i386/HL_Functions.mm:110:71: error: expected expression
                auto arguments_2_buf2 = static_cast<Hyperloop::NativeObject<GLchar *const *> *>(arguments_2_buf);
                                                                                    ^
build/src/i386/HL_Functions.mm:114:30: error: unknown type name 'GLint'
        auto length$3 = static_cast<GLint *>(HyperloopJSValueToVoidPointer(ctx,arguments[3],exception));
                                    ^
build/src/i386/HL_Functions.mm:126:30: error: unknown type name 'GLint'
        auto params$2 = static_cast<GLint *>(HyperloopJSValueToVoidPointer(ctx,arguments[2],exception));
                                    ^
build/src/i386/HL_Functions.mm:127:2: error: use of undeclared identifier 'glGetShaderiv'
        glGetShaderiv(shader$0, pname$1, params$2);
        ^
build/src/i386/HL_Functions.mm:138:30: error: unknown type name 'GLsizei'
        auto length$2 = static_cast<GLsizei *>(HyperloopJSValueToVoidPointer(ctx,arguments[2],exception));
                                    ^
build/src/i386/HL_Functions.mm:159:2: error: use of undeclared identifier 'glGetShaderInfoLog'
        glGetShaderInfoLog(shader$0, bufsize$1, length$2, infolog$3);
        ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
[ERROR] Hint: If you think you have found a bug, run again with --report to repo
```
add command I'm using to run in new run section of README. Update memory operation sample in README
copy across the ported webgl.js file to all lessons
Fix up the app.js files
Rename lesson files to *.js extension and add hyperloop directive
cast the view coming out of array to fix compile issue