fix #71; simulate with factors

it turns out that `as.data.frame([matrix])` behaves
oddly when the matrix object is actually a factor.
Need an explicit split(), which appears in binomial()$simulate