added plugin system. removed mingw support. overhauled build system