make = (obj = {}, children) => {
	const el = document.createElement(obj.el || "div");
	const { appendTo } = obj;
	const xref = {
		className: "className",
		id: "id",
		text: "textContent",
		html: "innerHTML", // overrides text setting
	};
	Object.keys(xref).forEach(key => {
		if (obj[key]) {
			el[xref[key]] = obj[key];
		}
	});
	if (obj.attrs) {
		for (let key in obj.attrs) {
			if (obj.attrs.hasOwnProperty(key)) {
				el.setAttribute(key, obj.attrs[key]);
			}
		}
	}
	if (Array.isArray(children) && children.length) {
		children.forEach(child => el.appendChild(child));
	}
	if (appendTo) {
		const wrap = typeof appendTo === "string"
			? $(appendTo)
			: appendTo;
		if (wrap) {
			wrap.appendChild(el);
		}
	}
	return el;
}
Create a DOM element
@param {Utils~makeOptions}
@returns {HTMLElement} (may be already inserted in the DOM)
@example
	make({ el: 'ul', className: 'wrapper', appendTo: 'body' }, [
		make({ el: 'li', text: 'item #1' }),
		make({ el: 'li', text: 'item #2' })
	]);