AudioRecord: Clean up state handling

Handle spurious wakeups in stop.
Handle track invalidation.
Clarify state.

Note: start and stop should not be called simultaneously from different
binder threads.

Test: audio sanity
Bug: 117303225
Change-Id: I587d9cda7b0eac5215eb6a88f93ee08e396e3ef9
3 files changed