Matplotlib has `major` and `minor` formatters -- we may want that here, too.  Maybe use `set_major_formatter`, and have it accept both a `Formatter` object (as matplotlib does) or a string with one of the convenience formats defined below.