That took awhile.
Attempt to appease the code sniffer.
Document the  parameter on enqueue_admin_assets().
Add a couple of Grunt tasks for generating docs and sniffing code.
Fixed a docblock: Path directory path?
Fix a method name in the legacy class.
Don't wrap the title with before/after tags before it's extracted into a template.
Fix widget template to only show link if the link text isn't empty.
Declare the global main plugin variable.
Correct typo in docblock and update whitespace.
Only search for a sidebar-specific template if sidebar id isn't empty. Accounts for calling the_widget().
Add a filter to toggle legacy status.
Remove the screen id check for enqueueing assets.
Add unit tests.
Ignore the tests directory in Grunt tasks.
Add a filter for template data before it's passed to the template.
Add customizer support to the widget.
Readme tweaks.