Those textures are usable only if the texture is rendered with clamp to edge, add that property to the global 2d material and enable it for the other materials whenever the driver is gles1/2 rather than when there's no npot support
Updated header guards to match their names, reduced the number of duplicated internal headers copied in the source tree by using the interfaces already exposed by the irrlicht engine
Cleaned up the classes inheriting virtual classes by using override where needed and marking most of them as final.
Also update usave of position2d to vector2d
Still incomplete but builds and boots to something (at least on the simulator).
Also slightly updated the premake scripts to properly generate build files for various architectures without renaming the vcpkg packages