Forget pending frames when stream is closed (e.g. RST)

Also, re-use writeQueue structs and their slices to make less garbage.
diff --git a/server.go b/server.go
index f7f146b..f659094 100644
--- a/server.go
+++ b/server.go
@@ -882,7 +882,6 @@
 	if ok {
 		st.gotReset = true
 		sc.closeStream(st, StreamError{f.StreamID, f.ErrCode})
-		// XXX TODO drain writeSched for that stream
 	}
 	return nil
 }
@@ -899,6 +898,7 @@
 		p.Close(err)
 	}
 	st.cw.Close() // signals Handler's CloseNotifier, unblocks writes, etc
+	sc.writeSched.forgetStream(st.id)
 }
 
 func (sc *serverConn) processSettings(f *SettingsFrame) error {