HeteroHalide: From Image Processing DSL to Efficient FPGA Acceleration