add ability to choose which microphone you want to use to record

- added temporary method to record that just echoes what you say as proof
  of concept
- Created preferences view that interacts with preferences viewmodel