Derive cursor_adaptor from cursor_facade (instead of iterator_adaptor).
This was necessary as the previous implementation just overrode range and cursor specific functions, such as (to_)begin() etc.