OP-PIC - an unstructured-mesh particle-in-cell domain specific language