In GFM, surround selected text when typing characters such as (, [, etc...

When editing markdown text, it's common to paste some text and then have a need to make it into an inline code block, or surround some text in parentheses.

Add the ability to select text and when a key such as ( or [ or " is pressed, surround the selected text in the proper delimiters.

Suggested character pairs: (, [, {, `, ", and '

This already seems to be available when editing a repository file (because we're using the Ace editor), though the backtick is not supported.