Added background-layer

This Pull Request adds a new layer for a background. The new layer works similiar to the header and the footer which means the `background`-parameter may be a function or a structure.

There was another issue, where the images are always drawed at last, which means, even if they're on the background-layer, they get drawn above the content. To fix this the current page structure (`page = { lines: [], vectors: [], images: [] }`) is replaced by a more simpler one (`page = { items: [] }`).

This should close #30.