emacs: update cursor-type more reliably

the cursor is meant to be a bar if the buffer is writable, and a box if
it's read-only or in god-mode. this was being updated when god-mode was
toggled, but this didn't work reliably (e.g. when new buffers were
opened). instead update in post-command-hook. doesn't seem to affect
performance, and seems to always work correctly.