The drag and drop is nice but tiles do still appear at an unpredictable offset. And after dragging the pink L for a few times, I ended up with a pink square in the preview area - see screenshot.
I thought it was interesting that you use Marshal for saving, but only in MRI, not mruby. Later I found out that Marshal doesn't come with mruby by default. I guess that explains it :) If you want to keep mruby compatibility but don't want to use any mruby gems (Marshal, JSON, YAML etc.), then I think I'd just go with string parsing in both versions of Ruby. That would make it more consistent at least.
Re: mruby and Gosu, that doesn't work yet, sorry. I've given it a try when mruby was really new (and crashy) and then simply forgot about it. It's good to see that mruby has a better concept for gems now, but I'm not sure if wrapping a heavy C++ library like Gosu will be easy. It's definitely on my list of potential weekend projects, but that list hasn't gotten any shorter in the last years ;(