Replaced Block Factories with Block Functions

Rather than have a Block Factory build the block, each block type (such
as Array Source) now has its own function class. With more complex
classes, everything is a lot easier to understand.
Also includes a little function for looking up all the modules in
requirejs's defined object for a given namespace.

This probably breaks block loading.