fixed two code crashes in the demos and a minor simplification (Math.max() instead of compare+assign)

Resolved conflicts
unused local var removed
reduced duplication: w2layout used redefined sets of panel names everywhere; now a single (constant!) list is used for all; using the variable name `p1` where possible to strengthen the feel of similarity in the various code sections where this list is used. The one loop which only accessed 5 of the 6 panels known is tweaked accordingly.
Refactored $.inArray
stricter checks to prevent crashes (some of the demos crashed here too)

Merged
Removed dead code
Fixed merge conflics
strict check for the attribute to be function before executing it.

Otherwise similar to commit SHA-1: b8e25d2b4b162febbcbce73c0f2823afe7541f11:

* JS coding practices / JSCS lint check: code obj.field instead of obj['field']
Again, we don't care whether the `url` attribute is actually part of the instance options and null or undefined: when it is is either null or undefined it is unusable and for all intents and purposes 'not specified': another case of double-equal.
fixed crash in sidebar due to code expecting nodes[] to be initialized while it isn't yet (compilers would say: trying to use variable before its assignment/initialization); also simplified the rest of the node tree code as the demos b0rked in a few places in there.
observed some very odd use of an otherwise unknown this._tmp attribute which simply acts as local var; given the way it is coded it does not assist as a semi-global in the recursive method, so it can be simply replaced by a local variable. Searched the entire codebase and it does not surface anywhere else but in these places.
JS coding practices / JSCS lint check: code obj.field instead of obj['field']
typo fix which I missed in a previous extract
document directory structure of the repository
the demos might work nicely on w2ui.com but when running them on another server you always want to see them execute against the local codebase (particularly when you're editing w2ui itself ;-) )
comment to explain why onComplete instead of onOpen (could've used onAfterOpen as well I suppose) here; this has got me confused as to 'why' for a while when I started using w2ui so may help hint another in the right direction too.
forms-3 example rendered incorrect in Chrome at least; CSS has been tweaked to position the right side panel's labels with their input fields again.
whitespace police
cf. commit SHA-1: 310604d4177775257779e7defb8a6eead8c85d3c

- the editor examples never got changed to the \<!--CODE--> approach; they have now.

Note: on second thought, this action is moot as these demos are (a) not accessible from the demo index page and (b) there simply is no `w2editor` component and I don't think there needs to be as everyone has their favorites already (CodeMirror / CKEditor / ...?). This was done in the heat of the moment when I went through the entire demo directory tree checking each file and adjusting them to have proper \<script>...\</script> sections (see previous extract commit).

So maybe these demos should simply be deleted?
cf. commit SHA-1: 310604d4177775257779e7defb8a6eead8c85d3c