Load page options from layout on start_new_page

This works better than an assumed default with some changes later.
Also adds support for different page sizes
Improve recurring element positioning

It now uses the absolute coordinates rather than one based on
calculations using user entered variables.

Warning: This breaks page numbering!
Replace prawn's page numbering with own impl

It is not really possible to position the page numbering properly in
prawn. This own implementation keeps a record of all page numbers for
every layout configuration
Update Layout and Config specs

Config to_h no longer returns layout data, and layout.to_h
is now tested.
The attribute offset is renamed to its prawn name: start_count_at
Simplify the page number methods + specs

And add specs for page numbering
Simplify the bounding box options hash
Moved the page numbering systems back to document

Instead of a dynamic repeat I now loop through all
pages and apply their headers and footers if
needed. This allows for easier and more reliable
registration of page numbers for every layout.