I've written unit tests and added the lexical-binding header to tabify.el.
Just some more low hanging fruit, I suppose.

Please let know what you think.

Thanks,
Stefan Kangas