Made IDrawBatch public and added DrawDevice.AddBatch so custom batches can be added
directly, rather than adding vertices.
Fixed Workspace bug.

If the workspaces folder didn't exist, Workspace.GetLayoutNames would throw an
exception. Now it checks if the folder exists first and creates it if not.
Merge branch 'custom_drawbatch'
Exposed the current projection matrix on DrawDevice.

This is needed for any shaders that use newer versions of GLSL.
Added generic constraint off IVertexData to PreprocessBatch.
test for build
Updating dependencies
Merge branch 'master' of https://github.com/BraveSirAndrew/duality