Convert custom assert to function and make it a weak symbol.
Fix compiler warnings.
Minor changes (README and documentation).