Optimize isDelimeter

Using time and allocation profilation by cost centre:

Before: 55.7% time, 61.3% alloc
After:   6.8% time,  0.0% alloc

Such improve. Very Haskell.
Optimize splitter

Using time and allocation profilation by cost centre:

Before: splitter   72.6% time, 94.3% alloc
After:  splitter.f 41.7% time, 59.7% alloc
        splitter   14.6% time, 15.3% alloc

When combining splitter.f and splitter we get 56.3% which is 16.3%
less than before but still most of the CPU time.