message: update h3-server to drive process_output
diff: #![deny(warnings)]
  -use neqo_common::{qinfo, Datagram};
  +use neqo_common::{qdebug, qinfo, Datagram};
  use neqo_crypto::{init_db, AntiReplay};
  use neqo_http3::{Http3Connection, Http3State};
  use neqo_transport::{Connection, Output};
  @@ -247,9 +247,8 @@ fn main() -> Result<(), io::Error> {
  server.process_http3(Instant::now());
  - let conn_out = server.process_output(Instant::now());
  -
  - match conn_out {
  + loop {
  + match server.process_output(Instant::now()) {
  Output::Datagram(dgram) => out_dgrams.push(dgram),
  Output::Callback(new_timeout) => {
  if let Some(svr_timeout) = svr_timeout {
  @@ -258,10 +257,15 @@ fn main() -> Result<(), io::Error> {
  qinfo!("Setting timeout of {:?} for {:?}", new_timeout, remote_addr);
  *svr_timeout = Some(timer.set_timeout(new_timeout, remote_addr));
  + break;
  + }
  + Output::None => {
  + qdebug!("Output::None");
  + break;
  }
  - Output::None => eprintln!("Connection closed?"),
  };
  }
  + }
  // TODO: this maybe isn't cool?
  let first_socket = sockets.first().expect("must have at least one");
  