Optimize compiler subtyping.
Optimize compiler subtyping.

- The old code was quite slow, because the rule/partial function based implementation had a lot of overhead.
- The new implementation, which is based on the runtime subtyping implementation, is anywhere from 10 to 40 times faster.
- There is still room for improvement. The JVM version should beat the V8 version, but doesn't. Especially the match statements could be analyzed and improved further, as they might still be "if-else" based. A jump table would be better. This would, however, add additional modeling complexity (e.g. via a Kind enum). The new performance of the subtyping checks is perfectly adequate now.

marcopennekamp/lore,marcopennekamp/lore