Separate mesh writing from run in wrapper

Previously the user could not separate the execution of the simulation from the generation of the initial conditions. Imho this constitutes bad design, thus I fixed this behaviour.

Note: this change breaks current code using the wrapper. The following statement running an ArepoRun simulation,

```python
simulation.run(params, mesh)
```

should be replaced by

```python
params.render_mesh(mesh)
simulation.run(params)
```