Skeleton for re-read PDF
Automatically re-read PDF file on changes

This commit introduces support for re-reading the PDF when it changes
on disk.

This also changes the behaviour of the program to loading the entire
PDF file into memory when it starts. This enables you to make changes
to the file on disk.

This contains the majority of work for #13