Refactor and move viewport size calculation under zoom to calculateDocumentContentSize() #64
Correctly resize viewport to fit content at all zoom levels. Closes #64
Refactor method interfaces
Refactor tests
Handle fractions in scaling when zooming #64