Actually the existing edit field is perfectly fine, but it looks like you’re all trying to solve a user preference matter on a site-wide basis. The solution is not to force your preferred editor on every user of the site you’re running (let alone every site running a Discourse instance), the solution is for users to be able to edit any text field with the editor of their choice.
Now, since Discourse uses a HTML textarea field and not a contenteditable element, this is actually possible. The Firefox extension Its All Text provides exactly that function. In fact, I’m writing this reply in GNU Emacs as a result of that. Now I’m willing to bet that you cannot find a javascript text editor/plugin which can truly equal the feature set of Emacs. Not even Code Mirror or Ymacs try to make that claim. So all you really need to do is support editing through an interface which It’s All Text can handle.
Ah, I hear you say, but what if I want to use Chrome? Well, I don’t use it so I can’t verify this personally, but apparently this Chrome extension will do the job. It looks like it takes a little more to configure, but otherwise should be similar.
And what of Internet Explorer? Well, really you should probably stop that, but if you must … there’s this.
There are a few more listed here.
Oh, if Emacs ain’t your thing, that’s fine. You can run pretty much any text editor you like through these extensions. Editors that run inside a terminal may require a little shell scripting trickery, but otherwise you can do what you like.