adds weakself macro from https://gist.github.com/notorca/9192459 discussed here http://habrahabr.ru/company/viber/blog/232185/