I can't speak for Gosu integration exactly, but I recently did something very similar, integrating EventMachine with a Shoes app. I ended up with the same solution you did, spawning a separate thread for EM and running the EM event loop there. The only way you could combine the two event loops is if EM provided a #one_step type method that you could call each step through the Gosu event loop (or vice versa).
Although after I got EM working with Shoes, I ended up dropping EM and switching to the Rev library anyway. I'm not sure how far along you are in your networking code, but you might want to check out Rev as an alternative -- I much prefer the API over EM's, and it has said #run_nonblock method so you can integrate it into the Gosu event loop directly.
http://rev.rubyforge.org/rdoc/