Cache getattr(lib, symbol) in _CProperty

The repeated re-assignment of `func.argtypes` and `restypes` was making
it look like new objects were being created whilst trying to find the
source of a leak. This cache is a convenience which prevents that.
Merge pull request #9 from lazka/cache-cproperty

Cache getattr(lib, symbol) in _CProperty