Split implementations of project() for hilbert_space/sub_hilbert_space

* Removed a check in the hilbert_space version