Fix direct cursor styling behaviour

Recent changes to Formatting.getAppliedStyles return type were not correctly
spread through the DirectFormattingController. Update the CC types and fix
incorrect type usages in this controller.

To help preserve future sanity, some rough unit tests have been added for
the specifically fixed branches ONLY.

Fixes #723.