rem: WMFindInArray(WMArray *array, int (*match)(void*, void*), void *cdata)
add: WMFindInArray(WMArray *array, WMMatchDataProc *match, void *cdata)
context: WMFindInArray(WMArray *array, int (*match)(void*, void*), void *cdata){    unsigned i;    if (match!=NULL) {        for (i = 0; i < array->itemCount; i++) {            if ((*match)(array->items[i], cdata))                return i;        }    } else {        for (i = 0; i < array->itemCount; i++) {            if (array->items[i] == cdata)                return i;        }    }    return WANotFound;}