ENH: Allow set_viewport to take tuple

Closes #426. Ready for review/merge.