Reorder ARM/PRU interrupt sequence

Make the host code wait for a PRU event at the *start* of each invocation of
sparkle_write(), rather than the end, so that clients will never block unless
they attempt to make a second write while the first is still in progress.