Reactive Slick

Here's the ongoing work on Reactive Slick.

/cc @cvogt for review later
That doesn't make sense. If you used the demand that is decremented *before* signaling also for the state transition, the Subscription could start a new streaming job on a publisher thread while another one is still running.

And if you used the same demand value that you need for the state transitions (the one that is decreased only *after* sending) also for demand overflow calculation, the Subscription would see elements as not yet delivered, even though the Subscriber has already received them, which violates 3.17.