Отслеживание событие
paste, проверяйте что вставилось, если картинка - добавьте br.
Для жирного делайте createElement('strong'), ну или b. При отключении жирного - перемешайте курсор на позицию после вашего strong'а.
Вообще, создание самодельного текстового редактора - довольно сложная тема. Боюсь, что если даже с такими вопросами вы не справились, то выделение жирным уже набранного текста с форматированием (часть списка, например) покажется вам вообще адом:)
Если вы делаете это не ради скиллов - найдите готовый редактор.