Fix typo
Refactoring

I decided that is not that important that brick.apply
returns a bound method as if .apply was a usual method.
Also it turned out that having __doc__ for an object
of the class is possible (at least ipython is able
to read such docs). Thanks to that we can get rid
of generating a new class whenever Brick.apply_method
is used.
Get rid of brick.signature
Remove unused inputs