Added Visible flag
Switched to 'using' as opposed to typedef, added Vectoru using statement
Templated Rect struct