Merge pull request #1 from gnlnx/master

Initial render API design
Adding device object
merging changes from Kyle's push to upstream