drop recycle.c

recycle.c is added to improve performance, and indeed it does that.
However it's messy and I'd like to have to core as simple as possible
before optimization work is done.

Performance drop isn't too substantial on my laptop, this can be
reoptimized later on a cleaner code base.
reduce casting, this isn't c++