refactor for stricter checking, make subclassable

Separate the regexes for numbers-as-words and numbers-as-digits and stop
using the same regex for both.

Make the module subclassable and document protected methods.
v0.04

    - refactor code for stricter input checking