Add 'Profile' build configuration (similar configuration to many game engines).
This should be the main configuration for development. In the future, this will include incremental linking and asserts.
* Move most definitions to implementation file to avoid recompiling whole program for small changes
* Pass strings by reference for where possible.
* Split Module class to dedicated file.
* Add const qualifiers to all eligible methods for address/module class
* Some renaming