Param definitions are inherited to subclasses

Putting this here for discussion.

## What

A class' param definitions are inherited to its subclasses. Subclasses can add or modify inherited params.

```ruby
class A
  include Parametric::Params
  param :title, 'The title'
end

class B < A
  param :age, 'The age'
end

a = A.new(title: 'An instance', age: 20)
a.params # {title: 'An instance'}

b = B.new(title: 'Another instance', age: 20)
b.params # {title: 'Another instance', age: 20}
```

## Why

So I can for example have a base `ProductParams` definition and the `CreateProductParams`, `UpdateProductParams` subclasses that may or may not add to the base definition.

## Discuss

This PR tries to use ActiveSupport's `class_attribute`, if present. Otherwise it monkey-patches `Class` to add its own version of that utility method. I would really prefer a way of doing this that didn't require monkey patching. Maybe *refinements*?