Curl::Easy: Use alloc/initialize-pattern for easier subclassing.

Using `Curl::Easy#initialize` in combination with `Curl::Easy.allocate` (instead of a custom implementation of `Curl::Easy.new`) allows subclasses to extend or override argument handling. The unit tests are passing and this change should not introduce any backwards incompatibility.