Various fixes for bugs and cross-platform issues.
- Use canonical paths just about everywhere in the help browser. We want to stick to portable, normalized paths as much as possible, to avoid funky Windows path names, especially in bookmark files which should be portable across different platforms. - Fix the generated click_toc() call in display_toc(); we need to properly stringify the callback argument there. - Update the search field after opening a directory via the file browser, so that the search text matches the directory display. Is there a reason that we're not already doing this? I don't think so, because we're doing the same when clicking a link in the toc. - Prevent the doc directory from being bookmarked. There's nothing interesting to see there anyway (just subdirectories, no help patches). Also, since the toc lives there (in a virtual sense, i.e., the current browser directory is set to this directory whenever the toc is displayed), we also avoid an interesting race condition which arises if we try to update the toc while we're displaying it. (This doesn't seem to happen on all platforms, but I've seen it on the Mac at least.) - Fix a purely cosmetic issue with the bookmark entries. (Entries with a null description were stored as is and then written to the bookmarks file. Now the description is just omitted in that case.)