#13: Changed to range-based for loops where appropriate
Converted many plain pointers to smart pointers, major code cleanup, renamed Core::string to Core::rstring and added 'using namespace' to some headers, fixed bugs in matrix.h