[densematrix] fix densematrix iterator for row_reference != row_type&

Add additional template parameter R (default T&) to handle the case row_reference != row_type&.
[densematrix] replace -> by (* )

IteratorFacades::Pointer is assumed to be T* which is not the case for row_reference != row_type&.