Drop dependency on synom

Synom will need to depend on proc-macro2 as it transitions to parsing tokens
instead of strings. And all of this code is being removed from synom anyway.
diff --git a/src/lib.rs b/src/lib.rs
index 879ccfe..7a2f5b6 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -1,13 +1,16 @@
 extern crate proc_macro;
 
-#[macro_use]
 #[cfg(not(feature = "unstable"))]
-extern crate synom;
+extern crate unicode_xid;
 
 use std::fmt;
 use std::str::FromStr;
 use std::iter::FromIterator;
 
+#[macro_use]
+#[cfg(not(feature = "unstable"))]
+mod strnom;
+
 #[path = "stable.rs"]
 #[cfg(not(feature = "unstable"))]
 mod imp;