Use GNU M4 for ASM preprocessing

Using M4 rather than the GCC preprocessor allows us to leave most of the
compatible as possible.

This commit also removes the unused prucode.hp header.