A custom TableView index that supports custom icons, written in Swift