Better fix for issue #109, viewport broken on hide. 

By refusing to return 0 for either width or height, later operations
do not resolve to NaN. This results in the viewport being functional after it has been hidden, and allows it to retain its pre-hidden state.