Better disambiguation with an interval tree

Gets it right in every spot I could see. Biggest problem now is
hardcoding the y separation, but this should be less sensitive if I do a
better job inputting the characters with a custom PDF.