Generic types should work fine now across crates

This patch moves RenderChan to a new file, this being possible thanks to rust/#9155 being fixed.

This also fixes one compiler warning.