introduce is_empty(State) helper
and in the resulting refactor also remove a non-linear BQS access in
handle_info/drop_expired.
refactor possibly_unblock
get rid of maybe_send_drained_cons
and optimise handle_cast/credit along the way