Update Fortran interface
- Use the contiguous attribute where required,
- do not enforce the pointer argument where target is sufficient.
This comes after !170 (merged) as this other MR already modified the Fortran API and would conflict with this otherwise