Add RubyIO, refactoring ServerSocket