apic: serialize writes to x2apic MSR...

as required by the specifications (it isn't needed with memory mapped i/o).
Fix infinite loop with huge tooltips

 * With a tooltip big enough trying to align below or above the mouse, the algorithm would loop endlessly trying to fit it on either side.
 * After trying each side once, set alignment to middle to try to show as much as the tooltip as possible.

A way to trigger this is browsing WebKit github repository in WebPositive. Github will show the full commit message in a tooltip when you hover a file or directory, and some of
their messages are big enough to overflow my desktop.