-------------
**New Features**
* Added a synchronized decorator for performing thread mutex locking on
functions, object instances or classes. This is the same decorator as
covered as an example in the wrapt documentation.
* Added a WeakFunctionProxy class which can wrap references to instance
methods as well as normal functions.
* Exposed from the C extension the classes _FunctionWrapperBase,
_BoundFunctionWrapper and _BoundMethodWrapper so that it is possible to
create new variants of FunctionWrapper in pure Python code.
**Bugs Fixed**
* When deriving from ObjectProxy, and the C extension variant
was being used, if a derived class overrode __new__() and tried to access
attributes of the ObjectProxy created using the base class __new__()
before __init__() was called, then an exception would be raised
indicating that the 'wrapper has not been initialised'.
* When deriving from ObjectProxy, and the C extension variant
was being used, if a derived class __init__() attempted to update
attributes, even the special '_self_' attributed before calling the base
class __init__() method, then an exception would be raised indicating
that the 'wrapper has not been initialised'.