Improve font-lock

Various fairly big refactorings, but all related to font-lock in some way or another.