Added support for trigger handling

FurnitureEngine now handles keyboard input properly, Triggers will play
assigned sound if applicable.  Some additional bugs were fixed.  Preview
was implemented and sound buttons now play the preview as they should.