Enter Edit Mode on an element only if isEditable()

Currently, `Element::isEditable()` is not checked before entering edit mode. This PR adds the checks.

**Note**: Given the variety of conditions which may determine the editability of an element and the fact that so far the `isEditable()` method has been under-utilized, this may lead to making un-editable elements previously editable (possibly correctly or possibly not).