Introduce the Page interface

This will allow other implementations to drop in if necesary.
Adding travis configuration.