Added support for different page formats (A4 & US-Letter for now), as well as custom page sizes.
Cleaned up interfaces by promoting ivars to private properties, fixing singleton, etc.