Better "Open in a new window" implementation

Instead of just looking in `the_posts` and then doing JS replacement, which misses anything in widgets, footers, custom menu plugins, custom loops, and various other things, this just tracks every URL that is replaced, and then in `wp_footer`, does the JS magic for all of those.

fixes #4