Cache identifiers

See issue #22 
The only actual commit is here
https://github.com/Stoeoef/mjis/commit/aee024544918e512213481ec1e6c498ded2c50e2
the rest is based on #31 
Review by @soc please