switched from Rcpp::wrap() to allocate Rcpp::NumericMatrix

This prevents copies induced by Rcpp::wrap().
We can allocate the R-matrix using Rcpp::NumericMatrix() and then
map that Matrix to Eigen and return the Rcpp::NumericMatrix