Add caching to the widget display.

Invalidated on:
* widget settings updated
* post saved
* post deleted
* nonce ticks
Allow filterable read (use) and write (save) of the object cache.
Output the widget contents as soon as it's built.
Do not extract the widget args. No need since we're accessing members directly.