Viewport size fallback and multiple setActiveArea support

Fixes issue #3 and issue #4