Squashed commit of the following:

commit b7020d57756081c6c488b0f50399fd6ff05279ee
Author: Lauri Rooden <lauri@rooden.ee>
Date:   Sun Jul 29 18:11:03 2012 +0300

    Micro optimization

commit 7a62efadefb31b33db4df33f5461217c479689b1
Author: Lauri Rooden <lauri@rooden.ee>
Date:   Sat Jul 28 23:20:24 2012 +0300

    Simpler Fn

commit 23a3a79c37405be00f34dea8399b973e557af50f
Author: Lauri Rooden <lauri@rooden.ee>
Date:   Sat Jul 28 22:30:05 2012 +0300

    Enable by default

commit 16abc8a7f1b6a7227275a475aa202945e99c254d
Author: Lauri Rooden <lauri@rooden.ee>
Date:   Sat Jul 28 19:17:13 2012 +0300

    x

commit 9032f4af3d676127b49f85b1b30acb6cb9d2a643
Author: Lauri Rooden <lauri@rooden.ee>
Date:   Wed Jul 25 23:49:36 2012 +0300

    Separate ns from boot

commit d5fd6f6069bcc204a93019196a8179dd83a0954b
Author: Lauri Rooden <lauri@rooden.ee>
Date:   Wed Jul 25 23:31:47 2012 +0300

    Use shorthands in Array.prototype

commit 19fb66d5c8dd262b120161221245962b9c9bfc09
Author: Lauri Rooden <lauri@rooden.ee>
Date:   Wed Jul 25 00:29:51 2012 +0300

    Optimize

commit 3d1b0724d63a4284717b85f09f44627c0af60151
Author: Lauri Rooden <lauri@rooden.ee>
Date:   Tue Jul 24 21:33:42 2012 +0300

    Object.each

commit 738e57a0fd9bcf49ab6b1169116a3d5e76435552
Author: Lauri Rooden <lauri@rooden.ee>
Date:   Tue Jul 24 08:48:03 2012 +0300

    el.js cleanup

commit 795e969d0f8f9d1a2bbf226763d48941b271fa3e
Author: Lauri Rooden <lauri@rooden.ee>
Date:   Tue Jul 24 08:12:08 2012 +0300

    Merge haml.js into el.js

commit ae8cd043a4141e0b78e13ff80288cb91eb060ef5
Author: Lauri Rooden <lauri@rooden.ee>
Date:   Sat Jul 21 19:27:37 2012 +0300

    Whitespace fixes

commit 8375df3c093461d174cd985963917fe4a05af164
Author: Lauri Rooden <lauri@rooden.ee>
Date:   Sat Jul 21 18:22:32 2012 +0300

    Simpler String lambdas

commit 68921c4fdf083562e1d955367a379bb819b9482a
Author: Lauri Rooden <lauri@rooden.ee>
Date:   Fri Jul 20 11:26:53 2012 +0300

    'else' for haml

commit 44cbbfe6a44fcf5d8e996c4982bc96c3e848f7cd
Author: Lauri Rooden <lauri@rooden.ee>
Date:   Fri Jul 6 22:30:47 2012 +0300

    Introduce Event.Emitter

commit 06ba1b1d2e572de5d443ee9e9c3b02b8baba7861
Author: Lauri Rooden <lauri@rooden.ee>
Date:   Fri Jul 6 18:23:23 2012 +0300

    Don't use Date parse()

    In chrome Date.parse("01.02.2012") is Jan

commit b0a014a0a92e516914363b7225e0fdaca8f07885
Author: Lauri Rooden <lauri@rooden.ee>
Date:   Fri Jul 6 01:31:12 2012 +0300

    F.chan as lambda

commit d70e3ceda8efb3c8d86cd4c768857d71538ec384
Author: Lauri Rooden <lauri@rooden.ee>
Date:   Wed Jul 4 23:29:02 2012 +0300

    Cleanup and reorder code

commit 4c1f9ffb8a87f912cab76056a139dafc68a03222
Author: Lauri Rooden <lauri@rooden.ee>
Date:   Wed Jul 4 13:49:34 2012 +0300

    Make Fn global

commit a60ff3058f0c608385d7c6c63f6e665f7a1e6354
Author: Lauri Rooden <lauri@rooden.ee>
Date:   Wed Jul 4 02:41:03 2012 +0300

    Cleanup

commit c5286fb6a6c905399a3da3e58ad654c5761d35da
Author: Lauri Rooden <lauri@rooden.ee>
Date:   Mon Jul 2 16:00:52 2012 +0300

    Whitespace fixes

commit 429b64a3c832196f048b595248c1f1e72579b48b
Author: Lauri Rooden <lauri@rooden.ee>
Date:   Mon Jul 2 15:38:57 2012 +0300

    Whitespace fixes