htmldiff: Preserve whitespace after a tag

Whitespace after a tag (but before the first bit of non-whitespace text) is currently lost while diffing. These changes modify the start_tag function to keep any whitespace that occurs after it. I also re-named split_trailing_whitespace to split_whitespace and made it return both the start and end whitespace of a string as a tuple. 

As part of this token.trailing_whitespace is now re-named to token.whitespace and is a tuple containing the start and end whitespace, although at the moment the start whitespace is always an empty string.