use unicode spaces in tests. also change last test to expect `0` instead of `null` per pending changes.
refactor, add `stats` method and tests.

This really only introduces one breaking change: instead of returning `null` when there is no indentation, it should return `0`, since already return an error if a string isn't passed. It's reasonable to have a string with zero indentation.

Also uses unicode space, to ensure that actual spaces are detected.