blocks: implement theme protected regions for the modern block manager

Controlled by declaring capabilities in the theme that specify what must
be granted to the user for the blocks in the region to be manipulated.
blocks: implement protected regions for the legacy drag-drop manager
theme_protsample: simple theme to demonstrate protection of regions