Multiple properties drawers are allowed for now, this PR limits the
creation of multiple drawers to make sure that each block has only
one. Call <properties multiple times will insert the property in same drawer.
enhance: select formatted text after changing its formatting for toggle support
fix: place cursor between (pattern)(pattern) pair when selection is empty