Ajustes desta rodada

- formularios.php
  - busca por nome/categoria agora escapa % e _ corretamente
  - filtro de categoria inválido é descartado em vez de quebrar a listagem
  - ações de criar, duplicar e excluir preservam os filtros atuais ao voltar
  - modal de criação reabre com os valores digitados quando há erro
  - remove duplicação da opção "Sem categoria" no select do modal
  - valida existência do formulário antes de excluir
  - limita tamanho de nome e categoria no backend
  - copiar link ficou mais robusto fora de contexto seguro
  - modal fecha com clique fora e tecla Esc

- formulario_utils.php
  - novo normalizeSearchTerm()
  - novo normalizeCategoryList()
