selection: ensure that `this.range` is defined

In `getContaining()` and `placeMarkers()` functions.

Prevents uncaught errors as described in #204.
It's not the same thing.

I mean this isn't that complicated prople... this is JavaScript. There's no type safety. And with the Selection object, there's a possibility that there will be a `rangeCount` of 0, and thus `selection.range` will be undefined. Blindly assuming that `selection.range` is present is bad defensive programming. This makes the function calls safer.