implemented cmf_descendants and depth support in cmf_next/cmf_prev

fixes #10 and #11
this PR also makes it possible to pass in a path instead of a document in most places

there really should be some unit tests for the prev/next stuff at the very least
```
{% set foo = '/cms/content/home/additionalInfoBlock' %}
current: {{ foo }}<br />
prev: {{ cmf_path(cmf_prev(foo, '/cms', 4)) }}<br />
next: {{ cmf_path(cmf_next(foo, '/cms', 4)) }}<br />
<br />
{% set foo = '/cms/content/home/additionalInfoBlock/child1' %}
current: {{ foo }}<br />
prev: {{ cmf_path(cmf_prev(foo, '/cms', 4)) }}<br />
next: {{ cmf_path(cmf_next(foo, '/cms', 4)) }}<br />
<br />
{% set foo = '/cms/content/home/additionalInfoBlock/child2' %}
current: {{ foo }}<br />
prev: {{ cmf_path(cmf_prev(foo, '/cms', 4)) }}<br />
next: {{ cmf_path(cmf_next(foo, '/cms', 4)) }}<br />
<br />
{% set foo = '/cms/content/home/additionalInfoBlock/child3' %}
current: {{ foo }}<br />
prev: {{ cmf_path(cmf_prev(foo, '/cms', 4)) }}<br />
next: {{ cmf_path(cmf_next(foo, '/cms', 4)) }}<br />
<br />
```