Replace `TokenStream::empty` with `::new`

`TokenStream::empty` is deprecated since `proc-macro2` 0.4.4.
diff --git a/Cargo.toml b/Cargo.toml
index c8aa655..6d1c02f 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -29,7 +29,7 @@
 proc-macro = ["proc-macro2/proc-macro", "quote/proc-macro"]
 
 [dependencies]
-proc-macro2 = { version = "0.4.2", default-features = false }
+proc-macro2 = { version = "0.4.4", default-features = false }
 quote = { version = "0.6", optional = true, default-features = false }
 unicode-xid = "0.1"
 
diff --git a/codegen/src/main.rs b/codegen/src/main.rs
index 5c2f683..f00f310 100644
--- a/codegen/src/main.rs
+++ b/codegen/src/main.rs
@@ -934,7 +934,7 @@
                         semi_token: None,
                     }),
                 },
-                features: TokenStream::empty(),
+                features: TokenStream::new(),
                 eos_full: false,
             },
         );
diff --git a/examples/lazy-static/lazy-static/src/lib.rs b/examples/lazy-static/lazy-static/src/lib.rs
index 0ae9114..4d4131f 100644
--- a/examples/lazy-static/lazy-static/src/lib.rs
+++ b/examples/lazy-static/lazy-static/src/lib.rs
@@ -75,7 +75,7 @@
             init.span().unstable()
                 .error("I can't think of a legitimate use for lazily initializing the value `()`")
                 .emit();
-            return TokenStream::empty();
+            return TokenStream::new();
         }
     }
 
diff --git a/src/expr.rs b/src/expr.rs
index e5d8d83..6982951 100644
--- a/src/expr.rs
+++ b/src/expr.rs
@@ -1717,7 +1717,7 @@
                 attrs: Vec::new(),
                 // this expr will get overwritten after being returned
                 receiver: Box::new(Expr::Verbatim(ExprVerbatim {
-                    tts: TokenStream::empty(),
+                    tts: TokenStream::new(),
                 })),
 
                 method: method,
diff --git a/src/spanned.rs b/src/spanned.rs
index 72c4798..9372dce 100644
--- a/src/spanned.rs
+++ b/src/spanned.rs
@@ -109,7 +109,7 @@
 {
     #[cfg(procmacro2_semver_exempt)]
     fn span(&self) -> Span {
-        let mut tokens = TokenStream::empty();
+        let mut tokens = TokenStream::new();
         self.to_tokens(&mut tokens);
         let mut iter = tokens.into_iter();
         let mut span = match iter.next() {
@@ -128,7 +128,7 @@
 
     #[cfg(not(procmacro2_semver_exempt))]
     fn span(&self) -> Span {
-        let mut tokens = TokenStream::empty();
+        let mut tokens = TokenStream::new();
         self.to_tokens(&mut tokens);
         let mut iter = tokens.into_iter();
 
diff --git a/src/synom.rs b/src/synom.rs
index a018ff3..1788732 100644
--- a/src/synom.rs
+++ b/src/synom.rs
@@ -91,19 +91,19 @@
 //! use syn::{PathSegment, Expr, Attribute};
 //!
 //! # fn run_parsers() -> Result<(), syn::synom::ParseError> {
-//! #     let tokens = TokenStream::empty().into();
+//! #     let tokens = TokenStream::new().into();
 //! // Parse a nonempty sequence of path segments separated by `::` punctuation
 //! // with no trailing punctuation.
 //! let parser = Punctuated::<PathSegment, Token![::]>::parse_separated_nonempty;
 //! let path = parser.parse(tokens)?;
 //!
-//! #     let tokens = TokenStream::empty().into();
+//! #     let tokens = TokenStream::new().into();
 //! // Parse a possibly empty sequence of expressions terminated by commas with
 //! // an optional trailing punctuation.
 //! let parser = Punctuated::<Expr, Token![,]>::parse_terminated;
 //! let args = parser.parse(tokens)?;
 //!
-//! #     let tokens = TokenStream::empty().into();
+//! #     let tokens = TokenStream::new().into();
 //! // Parse zero or more outer attributes but not inner attributes.
 //! named!(outer_attrs -> Vec<Attribute>, many0!(Attribute::parse_outer));
 //! let attrs = outer_attrs.parse(tokens)?;
diff --git a/src/token.rs b/src/token.rs
index 37a0b35..8141d31 100644
--- a/src/token.rs
+++ b/src/token.rs
@@ -876,7 +876,7 @@
             " " => Delimiter::None,
             _ => panic!("unknown delimiter: {}", s),
         };
-        let mut inner = TokenStream::empty();
+        let mut inner = TokenStream::new();
         f(&mut inner);
         let mut g = Group::new(delim, inner);
         g.set_span(*span);
diff --git a/tests/test_derive_input.rs b/tests/test_derive_input.rs
index 6e64d20..a5377e7 100644
--- a/tests/test_derive_input.rs
+++ b/tests/test_derive_input.rs
@@ -199,7 +199,7 @@
                 pound_token: Default::default(),
                 style: AttrStyle::Outer,
                 path: ident("must_use").into(),
-                tts: TokenStream::empty(),
+                tts: TokenStream::new(),
                 is_sugared_doc: false,
             },
         ],
@@ -459,7 +459,7 @@
                     PathSegment::from(ident("self")),
                 ],
             },
-            tts: TokenStream::empty(),
+            tts: TokenStream::new(),
             is_sugared_doc: false,
         }],
         generics: Generics::default(),
diff --git a/tests/test_generics.rs b/tests/test_generics.rs
index 9783b13..a8c4881 100644
--- a/tests/test_generics.rs
+++ b/tests/test_generics.rs
@@ -52,7 +52,7 @@
                     pound_token: Default::default(),
                     style: AttrStyle::Outer,
                     path: ident("may_dangle").into(),
-                    tts: TokenStream::empty(),
+                    tts: TokenStream::new(),
                     is_sugared_doc: false,
                 }],
                 ident: ident("T"),