In #1535868: Change notice: Convert all blocks into plugins, we did a straight port of the Views block integration.
With plugins and derivatives and all the new stuff, we'll want to revamp our code.
Specific things to target:
- The naming of \Drupal\views\Plugin\views\display\DisplayPluginBase::viewSpecialBlocks()
- The $type parameter of viewSpecialBlocks(), which is currently always 'exp' for exposed blocks
- Maybe make views_add_block_contextual_links() a method, or find a way to move that to contextual.module