[GLES] Avoid getting viewport so often

GLES is generally offloaded to a GPU and fed a stream of commands. These can be executed asynchronously by GPU and there
is no need for the host to block. Whenever a gl call requires a result back that may be affected by previous commands
the queue needs to be drained and a result returned from GPU. This acts as a bottleneck.

Looking closely at what xbmc does, there is only one call that requires a result that is executed every frame.
That is glGetIntegerv(GL_VIEWPORT). However xbcm is perfectly capable of remembering what it set this to.

By using a cached version of this value, on a Pi, the framerate improves from 69fps to 95fps,
with vsync disabled, and RSS feed showing in home screen.