add custom indent and outdent function, to take care of lists

for elements other than lists, the default execCommand is used. 

The handling of lists and the closure relationship with other tag types might become opinionated at some point. The implementation here is mostly fine.

Note to self: 
- List is the only element, outdent it moves it out of the editor.
- Multiple `<li>` selection: not implemented. Currently falls back to default, which gives erroneous result.
- There is a bug that is when outdent from `<ol><li>text<ol><li>sfsd</li></ol></li></ol>`, it becomes `<p>text<ol><li>sfsd</li></ol></p>`. I need to think about this a bit more since for my clients, rich formatting under `<p>` and `<li>` are important.