removed unnecessary Vector2 constructor calls
added Viewport file
use separated viewport class to deal with scaling