CLN/ENH: Stop instantiating all offsets on load.

Use a more flexible lookup based on prefix then delegate creation to
class' `from_name()` method. Totally get rid of hasOffsetName (not necessary).
Finally, make some inheriting go on to simplify things.