Weapon components now initialize their attacks on construction
Added ItemFactory class and basic safety to eval() calls in items and components