Allow subclassing for InsensitiveHash

Currently there wasn't any way to subclass  `InsensitiveHash`.

```ruby
class MyInsensitiveHash < InsensitiveHash
  def test
  end
end 
hash = MyInsensitiveHash[{}]
hash.class
=> InsensitiveHash
hash.test
NoMethodError: private method `test' called for {}:InsensitiveHash
```

this PR fixes it so can easily subclass :)