added set_viewport method to graphics_device