Made the entire code more Object Oriented,
started adding default JavaScript globals,
autocompleting properties.

Squashed commit of the following:

commit d00bdb62467be74489ae6a809cdd7e8a330f8290
Author: Jelle De Loecker <jelle@kipdola.be>
Date:   Tue Aug 6 23:33:14 2013 +0200

    Add core javascript stuff

commit 3b7da83b56d82f64ad9dc584adbf10f4d1495cec
Author: Jelle De Loecker <jelle@kipdola.be>
Date:   Tue Aug 6 16:05:42 2013 +0200

    Fix function expressions

commit d94fd14d3f65eae22380420d199604687ec09579
Author: Jelle De Loecker <jelle@kipdola.be>
Date:   Tue Aug 6 10:20:27 2013 +0200

    Better autocompletion init

commit 008a741f71620fe420b6ec404af444cf99b11f8a
Author: Jelle De Loecker <jelle@kipdola.be>
Date:   Mon Aug 5 23:29:38 2013 +0200

    Add copying of variables

commit 3e8187d870629febc69ad05e62300cb5a6eba603
Author: Jelle De Loecker <jelle@kipdola.be>
Date:   Mon Aug 5 22:48:38 2013 +0200

    Add type to parameters

commit d15f59523ab91bc3d8d15aad1435fe9d12d48b64
Author: Jelle De Loecker <jelle@kipdola.be>
Date:   Mon Aug 5 18:00:48 2013 +0200

    More type improvements

commit d1914f8d537e9d42faa3032b6f3bf89492bb7122
Author: Jelle De Loecker <jelle@kipdola.be>
Date:   Mon Aug 5 16:29:05 2013 +0200

    Improve property completion support

commit af9542267c86d7d9d5b6c625e1f61dd8d382fdac
Author: Jelle De Loecker <jelle@kipdola.be>
Date:   Mon Aug 5 02:53:48 2013 +0200

    Begin adding property support

commit 16b966f6ef390a81852ff2184e9f20635a59aa5c
Author: Jelle De Loecker <jelle@kipdola.be>
Date:   Mon Aug 5 01:28:40 2013 +0200

    Function statements are declared variables, so they are bound to the current scope

commit 20eed55805d908d468b3c6a3271c57a5024724e2
Author: Jelle De Loecker <jelle@kipdola.be>
Date:   Sun Aug 4 23:43:55 2013 +0200

    Fix docblock grabbing issues

commit 9a507e9f5f8ee25ee0d7734085a89e977526508a
Author: Jelle De Loecker <jelle@kipdola.be>
Date:   Fri Aug 2 00:59:25 2013 +0200

    Add type to the query for completion callback

commit 3be381c5676cf5adc63e24750fb2773618d4f07c
Author: Jelle De Loecker <jelle@kipdola.be>
Date:   Wed Jul 31 23:37:28 2013 +0200

    Begin expression normalizing

commit 871d877e7dc0f4e5ac25f66e410e16ea36b16d72
Author: Jelle De Loecker <jelle@kipdola.be>
Date:   Wed Jul 31 18:17:57 2013 +0200

    Begin fixing scope variables

commit c7d9f5ddb2e5abae81389642f8b488903b73d621
Author: Jelle De Loecker <jelle@kipdola.be>
Date:   Wed Jul 31 17:42:48 2013 +0200

    Fix inconsistent linenr & id reporting

commit 019b32092dc54dcfc14d3e3064491403ca23f448
Author: Jelle De Loecker <jelle@kipdola.be>
Date:   Tue Jul 30 23:00:53 2013 +0200

    Start processing statements

commit e36ec3057b6da5cb43e20b6aeb49573254266e57
Author: Jelle De Loecker <jelle@kipdola.be>
Date:   Wed Jul 24 23:46:29 2013 +0200

    Extract docblocks for expressions too

commit abc03fe4767c3f810dc7d3d413194b3b35956383
Author: Jelle De Loecker <jelle@kipdola.be>
Date:   Sun Jul 21 22:15:30 2013 +0200

    Dev

commit 79f9459adcb12ed34428dc69a31dd97e0e6c11af
Author: Jelle De Loecker <jelle@kipdola.be>
Date:   Fri Jul 19 17:45:05 2013 +0200

    Fix returning of extractions & ids

commit 760d0ec5078a5bebdf303a244253553611af5f58
Author: Jelle De Loecker <jelle@kipdola.be>
Date:   Wed Jul 17 23:25:17 2013 +0200

    Begin parsing results

commit 760f7daa571eb8a5901fdc9cc8fee0d689e3f5ad
Author: Jelle De Loecker <jelle@kipdola.be>
Date:   Wed Jul 17 18:04:21 2013 +0200

    Code cleanup

commit c75de5ae726e2d5799c3a014afec87006340716d
Author: Jelle De Loecker <jelle@kipdola.be>
Date:   Tue Jul 16 22:37:11 2013 +0200

    Added all other javascript statements

commit 1932effe74b41e07e9caed5b2136230814063d49
Author: Jelle De Loecker <jelle@kipdola.be>
Date:   Tue Jul 16 15:22:19 2013 +0200

    Expressions are now cleanly extracted

commit f69ca5d486d8353acb42986acf8bef1bb36c6031
Author: Jelle De Loecker <jelle@kipdola.be>
Date:   Tue Jul 16 01:07:06 2013 +0200

    Make the extractExpressions function smaller

commit ac57961971a210d88a7aa3b5a70492ea67dd04bc
Author: Jelle De Loecker <jelle@kipdola.be>
Date:   Mon Jul 15 18:09:12 2013 +0200

    Clean up some code

commit e6e65f6f26d806297ecccc7cdc6a5e397e51ae25
Author: Jelle De Loecker <jelle@kipdola.be>
Date:   Mon Jul 15 01:42:29 2013 +0200

    Further expression extraction

commit 1c94812409b97d62a05011d708b3c40ea533f4ff
Author: Jelle De Loecker <jelle@kipdola.be>
Date:   Sun Jul 14 19:42:04 2013 +0200

    Extracting expressions is almost complete

commit 69814d6105223529a8015cc9e08e852bd5c12505
Author: Jelle De Loecker <jelle@kipdola.be>
Date:   Fri Jul 12 18:11:43 2013 +0200

    Dev

commit 99ab851fb42c0c29319326aaf3af87822bcb15a1
Author: Jelle De Loecker <jelle@kipdola.be>
Date:   Fri Jul 12 17:30:25 2013 +0200

    More work

commit b1e200bff16f28d6524b4ba1ee3504e1e2c6e0cf
Author: Jelle De Loecker <jelle@kipdola.be>
Date:   Fri Jul 12 13:20:09 2013 +0200

    More functions

commit 55e1fc3e495def534c14975313933721c6330d2b
Author: Jelle De Loecker <jelle@kipdola.be>
Date:   Thu Jul 11 08:57:33 2013 +0200

    Start work on an even more modular approach

commit bec92dfdcc143595c11482224ec2389795cd0bc4
Author: Jelle De Loecker <jelle@kipdola.be>
Date:   Wed Jul 10 01:25:52 2013 +0200

    postNormalize feature added

commit 819c902b8300c1d43f0f8bac9e32730dc4a709bd
Author: Jelle De Loecker <jelle@kipdola.be>
Date:   Tue Jul 9 17:51:50 2013 +0200

    More refactoring

commit cc9a5ff0c85d3f0bf400a73ede255100db54a5b0
Author: Jelle De Loecker <jelle@kipdola.be>
Date:   Tue Jul 9 00:45:25 2013 +0200

    Other method of parsing