Fix bug in HTTP/2 outbound flow control

Motivation:

The outbound flow controller logic does not properly reset the allocated
bytes between successive invocations of the priority algorithm.

Modifications:

Updated the priority algorithm to reset the allocated bytes for each
stream.

Result:

Each call to the priority algorithm now starts with zero allocated bytes
for each stream.
I think the connection window is taken into account in the example.  `Connection Window = 800` and that is why `stream A remaining bytes to send = 350`.  I think the logic has a lot of the same elements but there are some differences (mainly in how bytes are distributed to peers and children).

Say we have the following:
Connection window = 50
stream A [bytes to send, priority] = [100, 1]
stream B [bytes to send, priority] = [10, 255]

then `scaleChildWeights` will set the following:

scaledWeights[streamA]=max(1, 1*(100/110)*(1/256))=max(1,0.0035)=0
scaledWeights[streamB]=max(1, 255*(100/110)*(255/256))=max(1,230.91)=1

Which will result in `writeBytesToTree` sending 0 bytes for streamA and 10 bytes for streamB?  How will the remaining 40 bytes be utilized?