limit xDiff, yDiff to avoid too fast rotation
updated to render on non-UI thread with AndroidGameView