A Vision and Speech Enabled, Customizable, Virtual Assistant for Smart Environments