function BunnyFormData(form) {
    if (!(form instanceof HTMLFormElement)) {
        throw new Error('Form passed to BunnyFormData constructor is not an instance of HTMLFormElement');
    }

    // form
    this._form = form;

    // form control collection;
    this._collection = {};

    // build collection from form elements
    var elements = this.getInputs();
    for (var k = 0; k < elements.length; k++) {
        var input = elements[k];
        this._initSingleInput(input);
    }
}
FormData wrapper for browsers supporting only FormData constructor and append()
Instead of keys(), entries(), values() have getAllElements()
Instead of delete() -> remove()
To get real FormData object use buildFormDataObject()
Also adds custom methods