Reworked the whole flags / initialize / destroy routines.
Adding proper System flags to libraries.
Adding library destructor to cover corner cases.
Cleanup of Module, adding multiple load() guards.
Cleaning up MetaBlock, all meta blocks are system blocks.
Made the destroyBlock() call pure so that implementations can catch and warn on destroying "pure" virtual blocks.
Removing System flag as default.
Fixing flags API changes.
Enhancing test coverage.