function RangeNodeIterator(range, nodeTypes, filter) {
        this.nodes = getNodesInRange(range, nodeTypes, filter);
        this._next = this.nodes[0];
        this._position = 0;
    }
Currently iterates through all nodes in the range on creation until I think of a decent way to do it
TODO: Look into making this a proper iterator, not requiring preloading everything first
@constructor