Add TPK support

Provides a TPKLayer Class and supporting docs and tests. Closes #39