Proxies: Refactoring without interface breakage to better support nesting.

project(project(vec, range(1, 4)), range(2, 3)) and similar now working.
The existing implementation had quite some troubles with nesting.