Create a bridge per editor

* this greatly improves performance but regresses auto-completion
outside of the current file - that functionality will be added back in a
subsequent commit
* some modifications were made to the bridge as well to ensure it uses
UTF-8 and to use a PrintWriter since its a bit easier to work with than
a BufferedWriter
* moved the construction of the services to the editor since the
previous design of the bridge being passed into the services prior to
completing construction is a bit of an anti-pattern