Rewrote furnace recipe parser

* Fixes #110
Why a `#define` instead of a `const static` variable?