Greatly improve core classes, use https://github.com/NCrashed/DIrrlicht as a reference, fix #1