Add print support for clients

This adds printing support to the client portal. Clients can now print tickets.  This also changes the printing system to use an HTML template, which fixes several other issues with respect to pdf printing.