Make pre-define extension sets immutable (dart-lang/markdown#304)

diff --git a/pkgs/markdown/lib/src/extension_set.dart b/pkgs/markdown/lib/src/extension_set.dart
index d740c64..29fac31 100644
--- a/pkgs/markdown/lib/src/extension_set.dart
+++ b/pkgs/markdown/lib/src/extension_set.dart
@@ -15,14 +15,21 @@
   /// fenced code blocks, or inline HTML.
   ///
   /// [Markdown.pl]: http://daringfireball.net/projects/markdown/syntax
-  static final ExtensionSet none = ExtensionSet([], []);
+  static final ExtensionSet none = ExtensionSet(
+    List<BlockSyntax>.unmodifiable(<BlockSyntax>[]),
+    List<InlineSyntax>.unmodifiable(<InlineSyntax>[]),
+  );
 
   /// The [commonMark] extension set is close to compliance with [CommonMark].
   ///
   /// [CommonMark]: http://commonmark.org/
   static final ExtensionSet commonMark = ExtensionSet(
-    [const FencedCodeBlockSyntax()],
-    [InlineHtmlSyntax()],
+    List<BlockSyntax>.unmodifiable(
+      <BlockSyntax>[const FencedCodeBlockSyntax()],
+    ),
+    List<InlineSyntax>.unmodifiable(
+      <InlineSyntax>[InlineHtmlSyntax()],
+    ),
   );
 
   /// The [gitHubWeb] extension set renders Markdown similarly to GitHub.
@@ -34,30 +41,44 @@
   /// linkable IDs.)
   ///
   /// [GitHub flavored Markdown]: https://github.github.com/gfm/
-  static final ExtensionSet gitHubWeb = ExtensionSet([
-    const FencedCodeBlockSyntax(),
-    const HeaderWithIdSyntax(),
-    const SetextHeaderWithIdSyntax(),
-    const TableSyntax()
-  ], [
-    InlineHtmlSyntax(),
-    StrikethroughSyntax(),
-    EmojiSyntax(),
-    AutolinkExtensionSyntax(),
-  ]);
+  static final ExtensionSet gitHubWeb = ExtensionSet(
+    List<BlockSyntax>.unmodifiable(
+      <BlockSyntax>[
+        const FencedCodeBlockSyntax(),
+        const HeaderWithIdSyntax(),
+        const SetextHeaderWithIdSyntax(),
+        const TableSyntax(),
+      ],
+    ),
+    List<InlineSyntax>.unmodifiable(
+      <InlineSyntax>[
+        InlineHtmlSyntax(),
+        StrikethroughSyntax(),
+        EmojiSyntax(),
+        AutolinkExtensionSyntax()
+      ],
+    ),
+  );
 
   /// The [gitHubFlavored] extension set is close to compliance with the [GitHub
   /// flavored Markdown spec].
   ///
   /// [GitHub flavored Markdown]: https://github.github.com/gfm/
-  static final ExtensionSet gitHubFlavored = ExtensionSet([
-    const FencedCodeBlockSyntax(),
-    const TableSyntax()
-  ], [
-    InlineHtmlSyntax(),
-    StrikethroughSyntax(),
-    AutolinkExtensionSyntax(),
-  ]);
+  static final ExtensionSet gitHubFlavored = ExtensionSet(
+    List<BlockSyntax>.unmodifiable(
+      <BlockSyntax>[
+        const FencedCodeBlockSyntax(),
+        const TableSyntax(),
+      ],
+    ),
+    List<InlineSyntax>.unmodifiable(
+      <InlineSyntax>[
+        InlineHtmlSyntax(),
+        StrikethroughSyntax(),
+        AutolinkExtensionSyntax()
+      ],
+    ),
+  );
 
   final List<BlockSyntax> blockSyntaxes;
   final List<InlineSyntax> inlineSyntaxes;