Pagination

Page controls that take a total, because that is what the data layer can give you.

It takes `page`, `perPage` and `total` rather than a ready-made page object,
because Askr's `TQuery.Paginate` returns the rows and does not count. A page
object here would promise something the data layer does not deliver; the app
knows the total from its own `Count` and passes it in.

Give it `href` and each page becomes a real link that can be opened in a new
tab and copied. Without `href` the controls are buttons and `onnavigate` is
called instead.

The page number is text, not a list of links. Fifty pages is fifty tab stops
to get past, and nobody is looking for page 37.