title: Create sf object from two-column matrix
body: <p>I have a simple two-column matrix that I want to convert to an <code>sf</code> object where each row specifies a point:</p>
  
  <pre><code>&gt; set.seed(123);m=matrix(runif(10),ncol=2)
  &gt; m
            [,1]      [,2]
  [1,] 0.2875775 0.0455565
  [2,] 0.7883051 0.5281055
  [3,] 0.4089769 0.8924190
  [4,] 0.8830174 0.5514350
  [5,] 0.9404673 0.4566147
  </code></pre>
  
  <p>The naivest approach doesn't work, as <code>apply</code> mashes the points back together into a matrix and the operation just becomes a very slow transpose function:</p>
  
  <pre><code>&gt; apply(m,1,st_point)
            [,1]      [,2]      [,3]      [,4]      [,5]
  [1,] 0.2875775 0.7883051 0.4089769 0.8830174 0.9404673
  [2,] 0.0455565 0.5281055 0.8924190 0.5514350 0.4566147
  </code></pre>
  
  <p>Best I can come up with without doing an explicit loop is this monster:</p>
  
  <pre><code>&gt; st_sfc(lapply(data.frame(t(m)),st_point))
  Geometry set for 5 features 
  geometry type:  POINT
  dimension:      XY
  bbox:           xmin: 0.2875775 ymin: 0.0455565 xmax: 0.9404673 ymax: 0.892419
  epsg (SRID):    NA
  proj4string:    NA
  POINT(0.287577520124614 0.0455564993899316)
  POINT(0.788305135443807 0.528105488047004)
  POINT(0.4089769218117 0.892419044394046)
  POINT(0.883017404004931 0.551435014465824)
  POINT(0.940467284293845 0.456614735303447)
  </code></pre>
  
  <p>The other option is to go via <code>sp</code> objects, but I don't want to do that. I'd also like a solution in base R only, so no conversion to data.table or tbl etc.</p>
  
  <p>Am I just missing a simple <code>as(m,"sf")</code> function or suchlike?</p>