The psychopharmacology of huperzine A: an alkaloid with cognitive enhancing and neuroprotective properties of interest in the treatment of Alzheimer's disease