Decoupling Algorithm from Hardware Customizations for Software-Defined Reconfigurable Computing