Added all required include dependencies to files

Each file can now be included as a standalone include and it will
include it's required dependencies automatically. Check the top of each
file for a list of dependencies.