vm/document : implement `removeLines`

ace.js does something really strange if the arguments are out of range
(it returns a call to `remove` which returns a Point); that won't fly in
Dart with type checking, and it seems way too magical, so instead I
`assert`.  If we hit those asserts then we should investigate the code
paths (if any) which rely on that funky magic