(core) canvas resize fixes

AGP refactor broke the concept of having
a differently sized main canvas compared
to the primary output display.

Part of this was an incorrectly set viewport,
and the other part is incorrects sampling
when drawing hardware mouse cursor.

This commit fixes the first step, the second
issue is still at large.