icarus: Make state->last_work a pointer and store it on the heap
icarus: Skip unnecessary nonce memcpy
Bugfix: icarus: Avoid trying to submit 0 on comms error
icarus: Abstract nonce processing
icarus: Double-buffer work to solve nonces found before work change takes effect
icarus: Avoid sending a new job if the nonce found was for one before the current job anyway