Draw refactor 2014/2015

After these [draw refactoring notes](http://pioneerwiki.com/wiki/Draw_Refactoring_Notes) were pointed out I checked to see what else Luomu had in his old branches.

At some point he started implementing this refactoring so I've basically ported it across to the current codebase. It might not be suitable at all now and bgfx might well be a better option but it's interesting and I don't see any visual corruption, bugs or issues so worth trying to work out the best way of using it perhaps.

Andy