Split cell execution and status rendering out

These files are used also by iocamljs - eventually we will
probably want them in a library shared by both projects.